{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Adversarial-Robustness-Toolbox for scikit-learn AdaBoostClassifier"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.ensemble import AdaBoostClassifier\n",
    "from sklearn.datasets import load_iris\n",
    "\n",
    "import numpy as np\n",
    "from matplotlib import pyplot as plt\n",
    "\n",
    "from art.estimators.classification import SklearnClassifier\n",
    "from art.attacks.evasion import ZooAttack\n",
    "from art.utils import load_mnist\n",
    "\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1 Training scikit-learn AdaBoostClassifier and attacking with ART Zeroth Order Optimization attack"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_adversarial_examples(x_train, y_train):\n",
    "    \n",
    "    # Create and fit AdaBoostClassifier\n",
    "    model = AdaBoostClassifier()\n",
    "    model.fit(X=x_train, y=y_train)\n",
    "\n",
    "    # Create ART classifier for scikit-learn AdaBoostClassifier\n",
    "    art_classifier = SklearnClassifier(model=model)\n",
    "\n",
    "    # Create ART Zeroth Order Optimization attack\n",
    "    zoo = ZooAttack(classifier=art_classifier, confidence=0.0, targeted=False, learning_rate=1e-1, max_iter=20,\n",
    "                    binary_search_steps=10, initial_const=1e-3, abort_early=True, use_resize=False, \n",
    "                    use_importance=False, nb_parallel=1, batch_size=1, variable_h=0.2)\n",
    "\n",
    "    # Generate adversarial samples with ART Zeroth Order Optimization attack\n",
    "    x_train_adv = zoo.generate(x_train)\n",
    "\n",
    "    return x_train_adv, model"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1.1 Utility functions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_data(num_classes):\n",
    "    x_train, y_train = load_iris(return_X_y=True)\n",
    "    x_train = x_train[y_train < num_classes][:, [0, 1]]\n",
    "    y_train = y_train[y_train < num_classes]\n",
    "    x_train[:, 0][y_train == 0] *= 2\n",
    "    x_train[:, 1][y_train == 2] *= 2\n",
    "    x_train[:, 0][y_train == 0] -= 3\n",
    "    x_train[:, 1][y_train == 2] -= 2\n",
    "    \n",
    "    x_train[:, 0] = (x_train[:, 0] - 4) / (9 - 4)\n",
    "    x_train[:, 1] = (x_train[:, 1] - 1) / (6 - 1)\n",
    "    \n",
    "    return x_train, y_train"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "def plot_results(model, x_train, y_train, x_train_adv, num_classes):\n",
    "    \n",
    "    fig, axs = plt.subplots(1, num_classes, figsize=(num_classes * 5, 5))\n",
    "\n",
    "    colors = ['orange', 'blue', 'green']\n",
    "\n",
    "    for i_class in range(num_classes):\n",
    "\n",
    "        # Plot difference vectors\n",
    "        for i in range(y_train[y_train == i_class].shape[0]):\n",
    "            x_1_0 = x_train[y_train == i_class][i, 0]\n",
    "            x_1_1 = x_train[y_train == i_class][i, 1]\n",
    "            x_2_0 = x_train_adv[y_train == i_class][i, 0]\n",
    "            x_2_1 = x_train_adv[y_train == i_class][i, 1]\n",
    "            if x_1_0 != x_2_0 or x_1_1 != x_2_1:\n",
    "                axs[i_class].plot([x_1_0, x_2_0], [x_1_1, x_2_1], c='black', zorder=1)\n",
    "\n",
    "        # Plot benign samples\n",
    "        for i_class_2 in range(num_classes):\n",
    "            axs[i_class].scatter(x_train[y_train == i_class_2][:, 0], x_train[y_train == i_class_2][:, 1], s=20,\n",
    "                                 zorder=2, c=colors[i_class_2])\n",
    "        axs[i_class].set_aspect('equal', adjustable='box')\n",
    "\n",
    "        # Show predicted probability as contour plot\n",
    "        h = .01\n",
    "        x_min, x_max = 0, 1\n",
    "        y_min, y_max = 0, 1\n",
    "\n",
    "        xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))\n",
    "\n",
    "        Z_proba = model.predict_proba(np.c_[xx.ravel(), yy.ravel()])\n",
    "        Z_proba = Z_proba[:, i_class].reshape(xx.shape)\n",
    "        im = axs[i_class].contourf(xx, yy, Z_proba, levels=[0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0],\n",
    "                                   vmin=0, vmax=1)\n",
    "        if i_class == num_classes - 1:\n",
    "            cax = fig.add_axes([0.95, 0.2, 0.025, 0.6])\n",
    "            plt.colorbar(im, ax=axs[i_class], cax=cax)\n",
    "\n",
    "        # Plot adversarial samples\n",
    "        for i in range(y_train[y_train == i_class].shape[0]):\n",
    "            x_1_0 = x_train[y_train == i_class][i, 0]\n",
    "            x_1_1 = x_train[y_train == i_class][i, 1]\n",
    "            x_2_0 = x_train_adv[y_train == i_class][i, 0]\n",
    "            x_2_1 = x_train_adv[y_train == i_class][i, 1]\n",
    "            if x_1_0 != x_2_0 or x_1_1 != x_2_1:\n",
    "                axs[i_class].scatter(x_2_0, x_2_1, zorder=2, c='red', marker='X')\n",
    "        axs[i_class].set_xlim((x_min, x_max))\n",
    "        axs[i_class].set_ylim((y_min, y_max))\n",
    "\n",
    "        axs[i_class].set_title('class ' + str(i_class))\n",
    "        axs[i_class].set_xlabel('feature 1')\n",
    "        axs[i_class].set_ylabel('feature 2')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 2 Example: Iris dataset"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### legend\n",
    "- colored background: probability of class i\n",
    "- orange circles: class 1\n",
    "- blue circles: class 2\n",
    "- green circles: class 3\n",
    "- red crosses: adversarial samples for class i"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "ZOO: 100%|██████████| 100/100 [01:20<00:00,  1.24it/s]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x360 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "num_classes = 2\n",
    "x_train, y_train = get_data(num_classes=num_classes)\n",
    "x_train_adv, model = get_adversarial_examples(x_train, y_train)\n",
    "plot_results(model, x_train, y_train, x_train_adv, num_classes)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "ZOO: 100%|██████████| 150/150 [01:52<00:00,  1.34it/s]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x360 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "num_classes = 3\n",
    "x_train, y_train = get_data(num_classes=num_classes)\n",
    "x_train_adv, model = get_adversarial_examples(x_train, y_train)\n",
    "plot_results(model, x_train, y_train, x_train_adv, num_classes)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 3 Example: MNIST"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.1 Load and transform MNIST dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "(x_train, y_train), (x_test, y_test), min_, max_ = load_mnist()\n",
    "\n",
    "n_samples_train = x_train.shape[0]\n",
    "n_features_train = x_train.shape[1] * x_train.shape[2] * x_train.shape[3]\n",
    "n_samples_test = x_test.shape[0]\n",
    "n_features_test = x_test.shape[1] * x_test.shape[2] * x_test.shape[3]\n",
    "\n",
    "x_train = x_train.reshape(n_samples_train, n_features_train)\n",
    "x_test = x_test.reshape(n_samples_test, n_features_test)\n",
    "\n",
    "y_train = np.argmax(y_train, axis=1)\n",
    "y_test = np.argmax(y_test, axis=1)\n",
    "\n",
    "n_samples_max = 200\n",
    "x_train = x_train[0:n_samples_max]\n",
    "y_train = y_train[0:n_samples_max]\n",
    "x_test = x_test[0:n_samples_max]\n",
    "y_test = y_test[0:n_samples_max]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.2 Train AdaBoostClassifier classifier"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "model = AdaBoostClassifier(base_estimator=None, n_estimators=50, learning_rate=0.1, algorithm='SAMME.R', \n",
    "                           random_state=None)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "AdaBoostClassifier(algorithm='SAMME.R', base_estimator=None, learning_rate=0.1,\n",
       "                   n_estimators=50, random_state=None)"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.fit(X=x_train, y=y_train)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.3 Create and apply Zeroth Order Optimization Attack with ART"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "art_classifier = SklearnClassifier(model=model)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "zoo = ZooAttack(classifier=art_classifier, confidence=0.0, targeted=False, learning_rate=1e-1, max_iter=30,\n",
    "                binary_search_steps=20, initial_const=1e-3, abort_early=True, use_resize=False, \n",
    "                use_importance=False, nb_parallel=10, batch_size=1, variable_h=0.25)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "ZOO: 100%|██████████| 200/200 [07:12<00:00,  2.16s/it]\n"
     ]
    }
   ],
   "source": [
    "x_train_adv = zoo.generate(x_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "ZOO: 100%|██████████| 200/200 [07:09<00:00,  2.15s/it]\n"
     ]
    }
   ],
   "source": [
    "x_test_adv = zoo.generate(x_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.4 Evaluate AdaBoostClassifier on benign and adversarial samples"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Benign Training Score: 0.7700\n"
     ]
    }
   ],
   "source": [
    "score = model.score(x_train, y_train)\n",
    "print(\"Benign Training Score: %.4f\" % score)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.matshow(x_train[0, :].reshape((28, 28)))\n",
    "plt.clim(0, 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Benign Training Predicted Label: 5\n"
     ]
    }
   ],
   "source": [
    "prediction = model.predict(x_train[0:1, :])[0]\n",
    "print(\"Benign Training Predicted Label: %i\" % prediction)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Adversarial Training Score: 0.3050\n"
     ]
    }
   ],
   "source": [
    "score = model.score(x_train_adv, y_train)\n",
    "print(\"Adversarial Training Score: %.4f\" % score)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.matshow(x_train_adv[0, :].reshape((28, 28)))\n",
    "plt.clim(0, 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Adversarial Training Predicted Label: 3\n"
     ]
    }
   ],
   "source": [
    "prediction = model.predict(x_train_adv[0:1, :])[0]\n",
    "print(\"Adversarial Training Predicted Label: %i\" % prediction)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Benign Test Score: 0.4700\n"
     ]
    }
   ],
   "source": [
    "score = model.score(x_test, y_test)\n",
    "print(\"Benign Test Score: %.4f\" % score)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQEAAAECCAYAAAD+eGJTAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAODklEQVR4nO3df4xc5XXG8eeJvazjtWnsOHZcY3BDSBSSBlNtIJHbyhElJYmQQQltLNVypTSLWpCgitoiSxGW2qYU8aO0aZFMceNEhoTGUFDiprGstBSVOtiWAYNpTalLHW+9gNPaBPDP0z/2mm7J7ju7Oz/urM/3I61m5p479x5fzz773pl37zoiBCCvt9XdAIB6EQJAcoQAkBwhACRHCADJEQJAcrWEgO0rbP+L7edt31RHDyW299l+2vYu29u7oJ/1tods7x6xbK7tLbb3Vrdzuqy/tbZ/WB3DXbY/VWN/i21/3/Ye28/YvqFa3hXHsNBfR46hOz1PwPY0Sf8q6XJJ+yU9IWllRDzb0UYKbO+T1B8RL9fdiyTZ/kVJr0r6WkR8qFp2q6RDEXFLFaRzIuL3uqi/tZJejYjb6uhpJNsLJS2MiJ22Z0vaIekqSb+uLjiGhf5+RR04hnWMBC6R9HxEvBARxyR9Q9KKGvqYMiLiUUmH3rJ4haQN1f0NGn7R1GKM/rpGRAxGxM7q/hFJeyQtUpccw0J/HVFHCCyS9J8jHu9XB//B4xSSvmd7h+2BupsZw4KIGJSGX0SS5tfcz2iut/1UdbpQ2+nKSLaXSLpY0jZ14TF8S39SB45hHSHgUZZ129zlZRHxc5I+Kem6ariLiblb0vmSlkoalHR7ve1ItmdJ2iTpxog4XHc/bzVKfx05hnWEwH5Ji0c8PkfSgRr6GFNEHKhuhyQ9pOFTmG5zsDqXPH1OOVRzP/9PRByMiJMRcUrSPar5GNru0fA32MaIeLBa3DXHcLT+OnUM6wiBJyRdYPtnbJ8l6XOSHqmhj1HZ7qvenJHtPkmfkLS7/KxaPCJpdXV/taSHa+zlJ5z+5qpcrRqPoW1LulfSnoi4Y0SpK47hWP116hh2/NMBSao+6vgTSdMkrY+IP+x4E2Ow/R4N//SXpOmS7qu7P9v3S1ouaZ6kg5JulvQ3kh6QdK6kFyVdExG1vDk3Rn/LNTyMDUn7JF17+vy7hv5+XtI/Snpa0qlq8RoNn3fXfgwL/a1UB45hLSEAoHswYxBIjhAAkiMEgOQIASA5QgBIrtYQ6OIpuZLor1nd3F839yZ1tr+6RwJd/R8h+mtWN/fXzb1JHeyv7hAAULOmJgvZvkLSXRqe+feXEXFLaf2z3Bsz1Pfm4+M6qh71Tnr/7UZ/zenm/rq5N6n1/b2hH+tYHB3tl/cmHwKTuTjI2Z4bl/qySe0PwORti606HIdGDYFmTge4OAhwBmgmBKbCxUEANDC9ieeO6+Ig1UcdA5I0QzOb2B2AdmhmJDCui4NExLqI6I+I/m5+IwbIqpkQ6OqLgwAYn0mfDkTECdvXS/o7/d/FQZ5pWWcAOqKZ9wQUEZslbW5RLwBqwIxBIDlCAEiOEACSIwSA5AgBIDlCAEiOEACSIwSA5AgBIDlCAEiOEACSIwSA5AgBIDlCAEiOEACSIwSA5AgBIDlCAEiOEACSIwSA5AgBIDlCAEiOEACSIwSA5AgBIDlCAEiOEACSIwSA5AgBIDlCAEiOEACSm97Mk23vk3RE0klJJyKivxVNAeicpkKg8vGIeLkF2wFQA04HgOSaDYGQ9D3bO2wPtKIhAJ3V7OnAsog4YHu+pC22n4uIR0euUIXDgCTN0Mwmdweg1ZoaCUTEgep2SNJDki4ZZZ11EdEfEf096m1mdwDaYNIhYLvP9uzT9yV9QtLuVjUGoDOaOR1YIOkh26e3c19EfLclXQHomEmHQES8IOmiFvYCoAZ8RAgkRwgAyRECQHKEAJAcIQAkRwgAybXitwjTeOULHyvWz131fLH+3NCCYv3Y0Z5ifdH95frM/a8W66d2PVusIydGAkByhACQHCEAJEcIAMkRAkByhACQHCEAJMc8gQn43d+5r1j/TN+Pyhs4v8kGlpfL+068Vqzf9dLHm2xgavvB0HnFet/tP1WsT9+6o5XtdA1GAkByhACQHCEAJEcIAMkRAkByhACQHCEAJOeI6NjOzvbcuNSXdWx/rfbjz15arL/84XKmztlTPtY/+oCL9bM+/N/F+q0ferBYv/ztrxfr33ltVrH+6Znl6xU06/U4VqxvO9pXrC+fcbyp/b/3O9cW6+8beKKp7ddpW2zV4Tg06guMkQCQHCEAJEcIAMkRAkByhACQHCEAJEcIAMlxPYEJ6PvWtgb15rZ/dnNP15+9e3mx/gfLlpT3/w/lv5tw6/L3TrCjiZn++qlive+pwWL9nY9uKtZ/9qwGf7dhX7l+pmo4ErC93vaQ7d0jls21vcX23up2TnvbBNAu4zkd+KqkK96y7CZJWyPiAklbq8cApqCGIRARj0o69JbFKyRtqO5vkHRVi/sC0CGTfWNwQUQMSlJ1O791LQHopLa/MWh7QNKAJM3QzHbvDsAETXYkcND2QkmqbofGWjEi1kVEf0T096h3krsD0C6TDYFHJK2u7q+W9HBr2gHQaQ1PB2zfr+Er3s+zvV/SzZJukfSA7c9LelHSNe1sEuNz4r8OFut9m8r1kw223/etVybYUWsd/I2PFesfPKv8cr7t0PuL9SV/9UKxfqJYnboahkBErByjNHWvDgLgTUwbBpIjBIDkCAEgOUIASI4QAJIjBIDkuJ4Ausb08xYX619Z85VivcfTivW/vuuXivV3Dj5erJ+pGAkAyRECQHKEAJAcIQAkRwgAyRECQHKEAJAc8wTQNZ777UXF+kd6Xaw/c+z1Yn3us69NuKcMGAkAyRECQHKEAJAcIQAkRwgAyRECQHKEAJAc8wTQMUc//ZFifedn72ywhfJfsPrNG24o1t/+Tz9osP2cGAkAyRECQHKEAJAcIQAkRwgAyRECQHKEAJAc8wTQMS9+svwzZ5bL8wBW/vvlxfrM7z5ZrEexmlfDkYDt9baHbO8esWyt7R/a3lV9faq9bQJol/GcDnxV0hWjLL8zIpZWX5tb2xaATmkYAhHxqKRDHegFQA2aeWPwettPVacLc1rWEYCOmmwI3C3pfElLJQ1Kun2sFW0P2N5ue/txHZ3k7gC0y6RCICIORsTJiDgl6R5JlxTWXRcR/RHR39Pgt8AAdN6kQsD2whEPr5a0e6x1AXS3hvMEbN8vabmkebb3S7pZ0nLbSzX80es+Sde2sUdMEW+bPbtYX/ULjxXrh0+9UawPffk9xXrv0SeKdYyuYQhExMpRFt/bhl4A1IBpw0ByhACQHCEAJEcIAMkRAkByhACQHNcTQMvsXfvBYv3b8/6iWF+x9zPFeu9m5gG0AyMBIDlCAEiOEACSIwSA5AgBIDlCAEiOEACSY54Axu1/fu2jxfpTv/qnxfq/nTherL/6x+cU670aLNYxOYwEgOQIASA5QgBIjhAAkiMEgOQIASA5QgBIjnkCeNP0RT9drN/4pW8W670uv5w+9+SqYv1df8v1AurASABIjhAAkiMEgOQIASA5QgBIjhAAkiMEgOSYJ5CIp5f/uy/69v5i/ZpZrxTrG4/ML9YXfKn8M+dUsYp2aTgSsL3Y9vdt77H9jO0bquVzbW+xvbe6ndP+dgG02nhOB05I+mJEfEDSRyVdZ/tCSTdJ2hoRF0jaWj0GMMU0DIGIGIyIndX9I5L2SFokaYWkDdVqGyRd1a4mAbTPhN4YtL1E0sWStklaEBGD0nBQSCqfEALoSuMOAduzJG2SdGNEHJ7A8wZsb7e9/biOTqZHAG00rhCw3aPhANgYEQ9Wiw/aXljVF0oaGu25EbEuIvojor9Hva3oGUALjefTAUu6V9KeiLhjROkRSaur+6slPdz69gC023jmCSyTtErS07Z3VcvWSLpF0gO2Py/pRUnXtKdFtMxF7y+Wf3/+15va/J9/ufwSeMeTjze1fbRHwxCIiMckeYzyZa1tB0CnMW0YSI4QAJIjBIDkCAEgOUIASI4QAJLjegJnkGkXvq9YH/hGc/O5Llx/XbG+5Ov/3NT2UQ9GAkByhACQHCEAJEcIAMkRAkByhACQHCEAJMc8gTPIc79Vvur7lTPHfVW4UZ3z98fKK0Q0tX3Ug5EAkBwhACRHCADJEQJAcoQAkBwhACRHCADJMU9gCnnjykuK9a1X3t5gCzNb1wzOGIwEgOQIASA5QgBIjhAAkiMEgOQIASA5QgBIruE8AduLJX1N0rslnZK0LiLusr1W0hckvVStuiYiNrerUUgHlk0r1s+d3tw8gI1H5hfrPYfL1xPgagJT03gmC52Q9MWI2Gl7tqQdtrdUtTsj4rb2tQeg3RqGQEQMShqs7h+xvUfSonY3BqAzJvSegO0lki6WtK1adL3tp2yvt12+thWArjTuELA9S9ImSTdGxGFJd0s6X9JSDY8URp24bnvA9nbb24/raAtaBtBK4woB2z0aDoCNEfGgJEXEwYg4GRGnJN0jadTfbomIdRHRHxH9PeptVd8AWqRhCNi2pHsl7YmIO0YsXzhitasl7W59ewDabTyfDiyTtErS07Z3VcvWSFppe6mGPxnaJ+natnQIoK3G8+nAY5I8Sok5AVPMH71yYbH++C8vKdZj8OkWdoNuwYxBIDlCAEiOEACSIwSA5AgBIDlCAEiOEACSc3Twb8qf7blxqS/r2P4ADNsWW3U4Do0234eRAJAdIQAkRwgAyRECQHKEAJAcIQAkRwgAyXV0noDtlyT9x4hF8yS93LEGJo7+mtPN/XVzb1Lr+zsvIt41WqGjIfATO7e3R0R/bQ00QH/N6eb+urk3qbP9cToAJEcIAMnVHQLrat5/I/TXnG7ur5t7kzrYX63vCQCoX90jAQA1IwSA5AgBIDlCAEiOEACS+1/8tsxjstIf5QAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.matshow(x_test[0, :].reshape((28, 28)))\n",
    "plt.clim(0, 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Benign Test Predicted Label: 7\n"
     ]
    }
   ],
   "source": [
    "prediction = model.predict(x_test[0:1, :])[0]\n",
    "print(\"Benign Test Predicted Label: %i\" % prediction)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Adversarial Test Score: 0.2450\n"
     ]
    }
   ],
   "source": [
    "score = model.score(x_test_adv, y_test)\n",
    "print(\"Adversarial Test Score: %.4f\" % score)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.matshow(x_test_adv[0, :].reshape((28, 28)))\n",
    "plt.clim(0, 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Adversarial Test Predicted Label: 3\n"
     ]
    }
   ],
   "source": [
    "prediction = model.predict(x_test_adv[0:1, :])[0]\n",
    "print(\"Adversarial Test Predicted Label: %i\" % prediction)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
